package com.dingpeikeji.quickdeer.modules.ordersettle.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.dingpeikeji.quickdeer.core.common.persistence.DataEntity;
import com.dingpeikeji.quickdeer.core.modules.sys.entity.Office;

/**
 * 客运公司申请结算表Entity
 * @author mash
 * @version 2017-03-13
 */
public class TOrdersSettle extends DataEntity<TOrdersSettle> {
	
	private static final long serialVersionUID = 1L;
	
	public static final String STATUS_APPLY = "1"; // 已支付
	public static final String STATUS_PERMITTED = "2"; // 可开票
	public static final String STATUS_WAITCHECK = "3";	// 待打款
	public static final String STATUS_CHECKED = "4"; // 已结算
	
	private String settleid;		// settleid
	private String settlemoney;		// 开票总金额
	private String payway;		// 收款方式
	private String bankname;		// 开户行名称
	private String bankaccount;		// 银行卡号
	private String acctname;		// 户名
	private String title;		// 发票抬头
	private String rcptno;		// 发票编号
	private Date rcpttime;		// 开票时间
	private String rcptcontent;		// 开票内容
	private String slipno;		// 打款单号
	private Office officeid;		// 申请机构
	private String settlestatus;		// 结算状态
	
	private String rcptmoney;
	private String deductmoney;
	private String deductreason;
	
	private String slipbank;
	
	private String createDateQueryStart; // 创建日期查询起始
	private String createDateQueryEnd; // 创建日期查询终止
	
	public TOrdersSettle() {
		super();
	}

	public TOrdersSettle(String id){
		super(id);
	}

	public String getSettleid() {
		return settleid;
	}

	public void setSettleid(String settleid) {
		this.settleid = settleid;
	}
	
	public String getSettlemoney() {
		return settlemoney;
	}

	public void setSettlemoney(String settlemoney) {
		this.settlemoney = settlemoney;
	}
	
	@Length(min=0, max=1, message="收款方式长度必须介于 0 和 1 之间")
	public String getPayway() {
		return payway;
	}

	public void setPayway(String payway) {
		this.payway = payway;
	}
	
	@Length(min=0, max=50, message="开户行名称长度必须介于 0 和 50 之间")
	public String getBankname() {
		return bankname;
	}

	public void setBankname(String bankname) {
		this.bankname = bankname;
	}
	
	@Length(min=0, max=30, message="银行卡号长度必须介于 0 和 30 之间")
	public String getBankaccount() {
		return bankaccount;
	}

	public void setBankaccount(String bankaccount) {
		this.bankaccount = bankaccount;
	}
	
	@Length(min=0, max=100, message="户名长度必须介于 0 和 100 之间")
	public String getAcctname() {
		return acctname;
	}

	public void setAcctname(String acctname) {
		this.acctname = acctname;
	}
	
	@Length(min=0, max=100, message="发票抬头长度必须介于 0 和 100 之间")
	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}
	
	@Length(min=0, max=100, message="发票编号长度必须介于 0 和 100 之间")
	public String getRcptno() {
		return rcptno;
	}

	public void setRcptno(String rcptno) {
		this.rcptno = rcptno;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getRcpttime() {
		return rcpttime;
	}

	public void setRcpttime(Date rcpttime) {
		this.rcpttime = rcpttime;
	}
	
	@Length(min=0, max=100, message="开票内容长度必须介于 0 和 100 之间")
	public String getRcptcontent() {
		return rcptcontent;
	}

	public void setRcptcontent(String rcptcontent) {
		this.rcptcontent = rcptcontent;
	}
	
	@Length(min=0, max=50, message="打款单号长度必须介于 0 和 50 之间")
	public String getSlipno() {
		return slipno;
	}

	public void setSlipno(String slipno) {
		this.slipno = slipno;
	}
	
	public String getSettlestatus() {
		return settlestatus;
	}

	public void setSettlestatus(String settlestatus) {
		this.settlestatus = settlestatus;
	}

	public Office getOfficeid() {
		return officeid;
	}

	public void setOfficeid(Office officeid) {
		this.officeid = officeid;
	}

	public String getCreateDateQueryStart() {
		return createDateQueryStart;
	}

	public void setCreateDateQueryStart(String createDateQueryStart) {
		this.createDateQueryStart = createDateQueryStart;
	}

	public String getCreateDateQueryEnd() {
		return createDateQueryEnd;
	}

	public void setCreateDateQueryEnd(String createDateQueryEnd) {
		this.createDateQueryEnd = createDateQueryEnd;
	}

	public String getRcptmoney() {
		return rcptmoney;
	}

	public void setRcptmoney(String rcptmoney) {
		this.rcptmoney = rcptmoney;
	}

	public String getDeductmoney() {
		return deductmoney;
	}

	public void setDeductmoney(String deductmoney) {
		this.deductmoney = deductmoney;
	}

	public String getDeductreason() {
		return deductreason;
	}

	public void setDeductreason(String deductreason) {
		this.deductreason = deductreason;
	}

	public String getSlipbank() {
		return slipbank;
	}

	public void setSlipbank(String slipbank) {
		this.slipbank = slipbank;
	}
	
}